package fiuba.td.fabrica.view.frames;

import java.awt.Dimension;
import java.awt.event.MouseListener;

import javax.swing.JLabel;
import javax.swing.JPanel;

import fiuba.td.fabrica.constants.GlobalConstants;
import fiuba.td.fabrica.controller.ControllerSelection;
import fiuba.td.fabrica.view.elements.IconoJLabel;

public class EscenarioJugarPanel extends JPanel {

	private IconoJLabel[][] matrizJugar; 
	
	public EscenarioJugarPanel(Dimension dimension) {
		this.setPreferredSize(dimension);
		this.setLayout(null);
		int CantidadEtiquetasAlto = ControllerSelection.getInstance().getTerrenoSeleccionado().getTamanio().getLargo() / GlobalConstants.TAMANIO_ELEMENTOS_FABRICA;
		int CantidadEtiquetasAncho = ControllerSelection.getInstance().getTerrenoSeleccionado().getTamanio().getAncho() / GlobalConstants.TAMANIO_ELEMENTOS_FABRICA;
		this.matrizJugar = new IconoJLabel[CantidadEtiquetasAlto][CantidadEtiquetasAncho];
		this.actualizar();
	}


	public void actualizar (){
		this.removeAll();
		IconoJLabel[][] matrizEdicion = ControllerSelection.getInstance().getMatrizTerreno();
		
		if (matrizEdicion != null){
			for (int j=0; j < matrizEdicion.length; j++) {			
				for (int i=0; i < matrizEdicion[j].length; i++){
					matrizJugar[j][i] = matrizEdicion[j][i];
					IconoJLabel iconoJLabel = matrizEdicion[j][i];
					
					JLabel icono = iconoJLabel.clone();
					//Le saco al icono todos los mouse listeners.
					MouseListener[] listeners = icono.getMouseListeners();
					for (MouseListener listener : listeners) {
						icono.removeMouseListener(listener);
					}
					
					this.add(icono);
				}
			}
		}
	}


	public IconoJLabel[][] getMatrizJugar() {
		return matrizJugar;
	}

	
}
